
# Title: Euclid                		                                                                Filename: EuclidGera.s
# Author: Perez Castañeda Jonathan Gerardo		                                                     Date: 15-Marzo-2017
# Description: Algorítmo para máximo comun divisor.
# Input: ---
# Output: Maximo comun divisor

#########################################################################################
 
 @ r1 Espera el primero numero
 @ r0 Espera el segundo
 
 .section       .data
 vals:
     .long 6099, 2166
.section        .text
.globl  _start

_start:
   ldr r2, =vals                 @ Prepara r1 para iniciar en la variable
   ldr r1, [r2]                  @ Asigna el primer numero en r2
   ldr r0, [r2, #4]              @ Asigna el segundo numero en r0
   
#Data Segment
gcd:
cmp r0,r1                    @ Compara r0 y r1
subgt r0,r0,r1               @ Si r0 > r1, r0 = r0 - r1
sublt r1,r1,r0               @ Si r0 < r1, r1 = r1 - r0
bne gcd                      @ Si r0 != r1, se repite

mov r7,$1                  @ Prepara la salida
svc $0                     @ se activa el kernel
   
.end
